let isEdit = false;
let uploadedImageUrl = ''; // 存储上传后的图片URL

// 页面加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
    // 获取URL参数
    const urlParams = new URLSearchParams(window.location.search);
    const articleId = urlParams.get('id');
    
    if (articleId) {
        isEdit = true;
        loadArticleData(articleId);
    }
    
    // 加载文章类型
    getTypes();

    // 图片预览和上传处理
    document.getElementById('imagePreview').addEventListener('click', function() {
        document.getElementById('coverImage').click();
    });

    document.getElementById('coverImage').addEventListener('change', function(e) {
        const file = e.target.files[0];
        if (file) {
            // 预览图片
            const reader = new FileReader();
            reader.onload = function(e) {
                const previewImg = document.getElementById('previewImg');
                previewImg.src = e.target.result;
                previewImg.style.display = 'block';
                document.getElementById('imagePreview').classList.remove('empty');
            }
            reader.readAsDataURL(file);
            
            // 上传图片到服务器
            uploadImage(file);
        }
    });

});

// 加载文章数据
async function loadArticleData(articleId) {
    try {
        const response = await fetch(`../php/editArticle.php?mentalId=${articleId}`);
        const data = await response.json();
        
        if (data.success && data.data) {
            const article = data.data;
            document.getElementById('articleId').value = article.id;
            document.getElementById('title').value = article.title;
            document.getElementById('typeSelect').value = article.type_id;
            document.getElementById('brief').value = article.brief;
            document.getElementById('content').value = article.content;
            document.getElementById('source').value = article.source;
            
            if (article.img) {
                uploadedImageUrl = article.img; // 保存已有图片的URL
                const previewImg = document.getElementById('previewImg');
                previewImg.src = article.img;
                previewImg.style.display = 'block';
                document.getElementById('imagePreview').classList.remove('empty');
            }
        } else {
            alert('加载文章失败：' + (data.msg || '未知错误'));
        }
    } catch (error) {
        console.error('加载文章数据失败:', error);
        alert('加载文章失败，请重试！');
    }
}


// 上传图片到服务器
async function uploadImage(file) {
    try {
        const formData = new FormData();
        formData.append('file', file);
        
        const response = await fetch('../api/file.php', {
            method: 'POST',
            body: formData
        });
        
        const data = await response.json();
        
        if (data.success) {
            uploadedImageUrl = data.data.url; // 保存上传后的图片URL
            console.log('图片上传成功，URL:', uploadedImageUrl);
        } else {
            alert('图片上传失败：' + (data.msg || '未知错误'));
        }
    } catch (error) {
        console.error('上传图片失败:', error);
        alert('图片上传失败，请重试！');
    }
}

// 保存文章
async function saveArticle() {
    try {
        // 获取表单数据
        const form = document.getElementById('articleForm');
        const formData = new FormData(form);
        const articleId = document.getElementById('articleId').value;
        
        // 添加当前用户ID
        const userId = JSON.parse(localStorage.getItem('xlsystem_user')).id ;
        if (!userId) {
            alert('请先登录！');
            window.location.href = 'login.html';
            return;
        }
        formData.append('create_user', userId);

        // 添加创建时间
        const now = new Date().toISOString().slice(0, 19).replace('T', ' ');
        formData.append('create_time', now);
        formData.append('update_time', now);

        // 添加图片URL（使用保存的变量而不是文件上传）
        formData.delete('img'); // 删除文件字段
        formData.append('img', uploadedImageUrl); // 添加图片URL

        // 添加action参数
        formData.append('action', isEdit ? 'updateArticle' : 'createArticle');
        if (isEdit) {
            formData.append('id', Number(articleId));
        }

        // 显示加载提示
        console.log('正在保存文章...');
        
        const response = await fetch('../php/editArticle.php', {
            method: 'POST',
            body: formData
        });

        // 检查响应状态
        if (!response.ok) {
            throw new Error(`HTTP错误! 状态码: ${response.status}`);
        }
        
        // 检查返回的内容类型
        const contentType = response.headers.get('content-type');
        if (!contentType || !contentType.includes('application/json')) {
            const textResponse = await response.text();
            console.error('服务器返回的不是JSON格式数据:', textResponse);
            throw new Error('服务器返回了非JSON格式数据');
        }

        const data = await response.json();
        
        if (data.success) {
            alert('保存成功！');
            window.location.href = 'userCenter.html';
        } else {
            alert('保存失败：' + (data.msg || '未知错误'));
        }
    } catch (error) {
        console.error('保存文章失败:', error);
        
        // 详细的错误处理
        if (error instanceof SyntaxError && error.message.includes('JSON')) {
            console.error('服务器响应不是有效的JSON格式');
            alert('保存失败：服务器响应格式错误，请联系管理员');
        } else {
            alert('保存失败，请重试！错误详情: ' + error.message);
        }
    }
}

// 返回上一页
function goBack() {
    history.back();
} 